package com.hawthorn.admin.model.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hawthorn.component.model.BasePO;

/**
 *@BelongsProject: hawthorn-admin
 *@BelongsPackage: com.hawthorn.admin.model.po
 *@Author: 郭昊：guohao
 *@CreateTime: 2022-07-04  14:41
 *@Description: TODO
 *@Version: 1.0
 */
@TableName("sys_dict")
public class SysDictPO extends BasePO {
  @TableId(
      value = "id",
      type = IdType.AUTO
  )
  private Integer id;
  @TableField("dic_code")
  private String dicCode;
  @TableField("label")
  private String label;
  @TableField("label_en")
  private String labelEn;
  @TableField("parent")
  private Integer parent;
  @TableField("type")
  private String type;
  @TableField("type_name")
  private String typeName;
  @TableField("spell")
  private String spell;
  @TableField("aspell")
  private String aspell;
  @TableField("sort")
  private Integer sort;
  @TableField("is_leaf")
  private String isLeaf;
  @TableField("oem_company_id")
  private Long oemCompanyId;
  @TableField("dept_id")
  private Long deptId;

  public SysDictPO() {
  }

  public String getTypeName() {
    return typeName;
  }

  public void setTypeName(String typeName) {
    this.typeName = typeName;
  }

  public Integer getId() {
    return this.id;
  }

  public String getDicCode() {
    return this.dicCode;
  }

  public String getLabel() {
    return this.label;
  }

  public String getLabelEn() {
    return this.labelEn;
  }

  public Integer getParent() {
    return this.parent;
  }

  public String getType() {
    return this.type;
  }

  public String getSpell() {
    return this.spell;
  }

  public String getAspell() {
    return this.aspell;
  }

  public Integer getSort() {
    return this.sort;
  }

  public String getIsLeaf() {
    return this.isLeaf;
  }

  public Long getOemCompanyId() {
    return this.oemCompanyId;
  }

  public Long getDeptId() {
    return this.deptId;
  }

  public void setId(final Integer id) {
    this.id = id;
  }

  public void setDicCode(final String dicCode) {
    this.dicCode = dicCode;
  }

  public void setLabel(final String label) {
    this.label = label;
  }

  public void setLabelEn(final String labelEn) {
    this.labelEn = labelEn;
  }

  public void setParent(final Integer parent) {
    this.parent = parent;
  }

  public void setType(final String type) {
    this.type = type;
  }

  public void setSpell(final String spell) {
    this.spell = spell;
  }

  public void setAspell(final String aspell) {
    this.aspell = aspell;
  }

  public void setSort(final Integer sort) {
    this.sort = sort;
  }

  public void setIsLeaf(final String isLeaf) {
    this.isLeaf = isLeaf;
  }

  public void setOemCompanyId(final Long oemCompanyId) {
    this.oemCompanyId = oemCompanyId;
  }

  public void setDeptId(final Long deptId) {
    this.deptId = deptId;
  }

  @Override
  public String toString() {
    return "SysDictPO(id=" + this.getId() + ", dicCode=" + this.getDicCode() + ", label=" + this.getLabel() + ", labelEn=" + this.getLabelEn() + ", parent=" + this.getParent() + ", type=" + this.getType() + ", spell=" + this.getSpell() + ", aspell=" + this.getAspell() + ", sort=" + this.getSort() + ", isLeaf=" + this.getIsLeaf() + ", oemCompanyId=" + this.getOemCompanyId() + ", deptId=" + this.getDeptId() + ")";
  }

  @Override
  public boolean equals(final Object o) {
    if (o == this) {
      return true;
    } else if (!(o instanceof com.hawthorn.admin.model.po.SysDictPO)) {
      return false;
    } else {
      com.hawthorn.admin.model.po.SysDictPO other = (com.hawthorn.admin.model.po.SysDictPO)o;
      if (!other.canEqual(this)) {
        return false;
      } else if (!super.equals(o)) {
        return false;
      } else {
        label157: {
          Object this$id = this.getId();
          Object other$id = other.getId();
          if (this$id == null) {
            if (other$id == null) {
              break label157;
            }
          } else if (this$id.equals(other$id)) {
            break label157;
          }

          return false;
        }

        label150: {
          Object this$parent = this.getParent();
          Object other$parent = other.getParent();
          if (this$parent == null) {
            if (other$parent == null) {
              break label150;
            }
          } else if (this$parent.equals(other$parent)) {
            break label150;
          }

          return false;
        }

        Object this$sort = this.getSort();
        Object other$sort = other.getSort();
        if (this$sort == null) {
          if (other$sort != null) {
            return false;
          }
        } else if (!this$sort.equals(other$sort)) {
          return false;
        }

        label136: {
          Object this$oemCompanyId = this.getOemCompanyId();
          Object other$oemCompanyId = other.getOemCompanyId();
          if (this$oemCompanyId == null) {
            if (other$oemCompanyId == null) {
              break label136;
            }
          } else if (this$oemCompanyId.equals(other$oemCompanyId)) {
            break label136;
          }

          return false;
        }

        Object this$deptId = this.getDeptId();
        Object other$deptId = other.getDeptId();
        if (this$deptId == null) {
          if (other$deptId != null) {
            return false;
          }
        } else if (!this$deptId.equals(other$deptId)) {
          return false;
        }

        label122: {
          Object this$dicCode = this.getDicCode();
          Object other$dicCode = other.getDicCode();
          if (this$dicCode == null) {
            if (other$dicCode == null) {
              break label122;
            }
          } else if (this$dicCode.equals(other$dicCode)) {
            break label122;
          }

          return false;
        }

        Object this$label = this.getLabel();
        Object other$label = other.getLabel();
        if (this$label == null) {
          if (other$label != null) {
            return false;
          }
        } else if (!this$label.equals(other$label)) {
          return false;
        }

        Object this$labelEn = this.getLabelEn();
        Object other$labelEn = other.getLabelEn();
        if (this$labelEn == null) {
          if (other$labelEn != null) {
            return false;
          }
        } else if (!this$labelEn.equals(other$labelEn)) {
          return false;
        }

        Object this$type = this.getType();
        Object other$type = other.getType();
        if (this$type == null) {
          if (other$type != null) {
            return false;
          }
        } else if (!this$type.equals(other$type)) {
          return false;
        }

        label94: {
          Object this$spell = this.getSpell();
          Object other$spell = other.getSpell();
          if (this$spell == null) {
            if (other$spell == null) {
              break label94;
            }
          } else if (this$spell.equals(other$spell)) {
            break label94;
          }

          return false;
        }

        label87: {
          Object this$aspell = this.getAspell();
          Object other$aspell = other.getAspell();
          if (this$aspell == null) {
            if (other$aspell == null) {
              break label87;
            }
          } else if (this$aspell.equals(other$aspell)) {
            break label87;
          }

          return false;
        }

        Object this$isLeaf = this.getIsLeaf();
        Object other$isLeaf = other.getIsLeaf();
        if (this$isLeaf == null) {
          if (other$isLeaf != null) {
            return false;
          }
        } else if (!this$isLeaf.equals(other$isLeaf)) {
          return false;
        }

        return true;
      }
    }
  }

  @Override
  protected boolean canEqual(final Object other) {
    return other instanceof com.hawthorn.admin.model.po.SysDictPO;
  }

  @Override
  public int hashCode() {
    boolean PRIME = true;
    int result = super.hashCode();
    Object $id = this.getId();
    result = result * 59 + ($id == null ? 43 : $id.hashCode());
    Object $parent = this.getParent();
    result = result * 59 + ($parent == null ? 43 : $parent.hashCode());
    Object $sort = this.getSort();
    result = result * 59 + ($sort == null ? 43 : $sort.hashCode());
    Object $oemCompanyId = this.getOemCompanyId();
    result = result * 59 + ($oemCompanyId == null ? 43 : $oemCompanyId.hashCode());
    Object $deptId = this.getDeptId();
    result = result * 59 + ($deptId == null ? 43 : $deptId.hashCode());
    Object $dicCode = this.getDicCode();
    result = result * 59 + ($dicCode == null ? 43 : $dicCode.hashCode());
    Object $label = this.getLabel();
    result = result * 59 + ($label == null ? 43 : $label.hashCode());
    Object $labelEn = this.getLabelEn();
    result = result * 59 + ($labelEn == null ? 43 : $labelEn.hashCode());
    Object $type = this.getType();
    result = result * 59 + ($type == null ? 43 : $type.hashCode());
    Object $spell = this.getSpell();
    result = result * 59 + ($spell == null ? 43 : $spell.hashCode());
    Object $aspell = this.getAspell();
    result = result * 59 + ($aspell == null ? 43 : $aspell.hashCode());
    Object $isLeaf = this.getIsLeaf();
    result = result * 59 + ($isLeaf == null ? 43 : $isLeaf.hashCode());
    return result;
  }
}
